// 导出函数
const moment = require("moment")
const marked = require('marked')
// 导入conn使用
const conn = require("../db/db.js")
const showAdd = (req, res) => {
    // 判断没有登陆 不能看 直接跳转登陆 res.redirect 跳转
    if (!req.session.islogin) return res.redirect("/login")
    // 显示添加页面 用到了session就传过去

    res.render('./article/add.ejs', {
        user: req.session.user,
        islogin: req.session.islogin
    })
}
//添加文章
const addArticle = (req, res) => {
    // console.log(req.body)//{ authorId: '8', title: 'mkw', content: 'erfgwer' }
    let article = req.body
    article.ctime = moment().format("YYYY-MM-DD HH:mm:ss")
    let sql = "insert into blog_articles set ?"
    conn.query(sql, article, (err, result) => {
        if (err) return res.send({ status: 500, msg: "出错了" })
        console.log(result);//insertId
        if (result.affectedRows != 1) return res.send({ status: 501, msg: "添加文章出错了" })
        //成功 顺便返回这个文章的id
        res.send({ status: 200, msg: "添加文章成功", insertId: result.insertId })


        // res.send("ok")

    })
}
// 显示文章详情
const showInfo = (req, res) => {
    let id = req.params.id
    // 通过id把这篇文章数据查询出来渲染 直接渲染
    let sql = "select * from blog_articles where id=?"
    conn.query(sql, id, (err, result) => {
        //错误就跳转到首页
        if (err) return console.log("出错了")
        console.log(result)
        if (result.length != 1) return console.log("没有查询到")

        // 提前把markdown换成html
        let html = marked(result[0].content)
        result[0].content = html;
        //把转成的html 重新复制给result[0].content
        console.log(html);
        
        //成功 使用文章数据 渲染页面
        res.render("./article/info.ejs", {
            user: req.session.user,
            islogin: req.session.islogin,
            article: result[0]//直接把文章信息 渲染到info
        })
    })
}

//显示编辑页面
const showEdit=(req,res)=>{
    //获取id 去数据线查询出原来的数据
    let sql="select * from blog_articles where id=?"
    let id = req.params.id
    conn.query(sql,id,(err,result)=>{
        if(err) return console.log('出错啦')
   
        if(result.length!=1)return  console.log("查询失败了")
        //成功 通过id查询出 这篇文章在编辑页面先显示出来
        res.render("./article/edit.ejs", {
            user: req.session.user,
            islogin: req.session.islogin,
            article:result[0]
           
        })
       
    })
}

const editArticl=(req,res)=>{
    // 去数据库修改
    let article=req.body
    console.log(article);
    
    let sql="update blog_articles set ? where id=?"
    conn.query(sql,[article,article.id],(err,result)=>
    {
    //    console.log(result+'AA');

        if(err) return res.send({status:500,msg:"错误了"})

        return res.send({status:200,msg:"修改成功"})
    })
}




// 导出函数
module.exports = {
    showAdd,
    addArticle,
    showInfo,
    showEdit,
    editArticl

}